package com.tuniu.agents.common.entity.cart;

import com.tuniu.agents.util.I18nUtil;

/**
 *
 * Flight Cart Item
 */
public class FlightCartItem extends CartItem<FlightCartItem> {
    /**
     * Departure time
     */
    private String departureTime;
    /**
     * Total duration
     */
    private String totalDuration;
    /**
     * Cabin class
     */
    private String cabinClass;
    /**
     * Departure terminal
     */
    private String departureTerminal;
    /**
     * Airline company
     */
    private String airlineCompany;
    /**
     * Departure airport
     */
    private String departureAirport;
    /**
     * Price with tax
     */
    private String priceWithTax;
    /**
     * Craft type code
     */
    private String craftType;
    /**
     * Flight key
     */
    private String flightKey;
    /**
     * Remaining seats
     */
    private String remainingSeats;
    /**
     * Type
     */
    private String type;
    /**
     * URL
     */
    private ItemUrl url;
    /**
     * Flight number
     */
    private String flightNumber;
    /**
     * Plane model
     */
    private String planModel;
    /**
     * Arrival time
     */
    private String arrivalTime;
    /**
     * Arrival airport
     */
    private String arrivalAirport;

    /**
     * Arrival terminal
     */
    private String arrivalTerminal;

    public String getDepartureTime() {
        return departureTime;
    }
    public void setDepartureTime(String departureTime) {
        this.departureTime = departureTime;
    }
    public String getTotalDuration() {
        return totalDuration;
    }
    public void setTotalDuration(String totalDuration) {
        this.totalDuration = totalDuration;
    }
    public String getCabinClass() {
        return cabinClass;
    }
    public void setCabinClass(String cabinClass) {
        this.cabinClass = cabinClass;
    }
    public String getDepartureTerminal() {
        return departureTerminal;
    }
    public void setDepartureTerminal(String departureTerminal) {
        this.departureTerminal = departureTerminal;
    }
    public String getAirlineCompany() {
        return airlineCompany;
    }
    public void setAirlineCompany(String airlineCompany) {
        this.airlineCompany = airlineCompany;
    }
    public String getDepartureAirport() {
        return departureAirport;
    }
    public void setDepartureAirport(String departureAirport) {
        this.departureAirport = departureAirport;
    }
    public String getPriceWithTax() {
        return priceWithTax;
    }
    public void setPriceWithTax(String priceWithTax) {
        this.priceWithTax = priceWithTax;
    }
    public String getCraftType() {
        return craftType;
    }
    public void setCraftType(String craftType) {
        this.craftType = craftType;
    }
    public String getFlightKey() {
        return flightKey;
    }
    public void setFlightKey(String flightKey) {
        this.flightKey = flightKey;
    }
    public String getRemainingSeats() {
        return remainingSeats;
    }
    public void setRemainingSeats(String remainingSeats) {
        this.remainingSeats = remainingSeats;
    }
    public String getType() {
        return type;
    }
    public void setType(String type) {
        this.type = type;
    }
    public ItemUrl getUrl() {
        return url;
    }
    public void setUrl(ItemUrl url) {
        this.url = url;
    }
    public String getFlightNumber() {
        return flightNumber;
    }
    public void setFlightNumber(String flightNumber) {
        this.flightNumber = flightNumber;
    }
    public String getPlanModel() {
        return planModel;
    }
    public void setPlanModel(String planModel) {
        this.planModel = planModel;
    }

    public String getArrivalTime() {
        return arrivalTime;
    }
    public void setArrivalTime(String arrivalTime) {
        this.arrivalTime = arrivalTime;
    }
    public String getArrivalAirport() {
        return arrivalAirport;
    }
    public void setArrivalAirport(String arrivalAirport) {
        this.arrivalAirport = arrivalAirport;
    }
    public String getArrivalTerminal() {
        return arrivalTerminal;
    }
    public void setArrivalTerminal(String arrivalTerminal) {
        this.arrivalTerminal = arrivalTerminal;
    }

    /**
     * Format data for prompt
     */
    @Override
    public String toString() {
        return '{' +
                "\""+I18nUtil.getMessage(CartItemConstant.FLIGHT_FLIGHT_NUMBER)+"\":" + flightNumber +
                ",\""+I18nUtil.getMessage(CartItemConstant.FLIGHT_DEPARTURE_CITY_NAME)+"\":" + departureCityName  +
                ",\""+I18nUtil.getMessage(CartItemConstant.FLIGHT_ARRIVAL_CITY_NAME)+"\":" + arrivalCityName +
                ",\""+I18nUtil.getMessage(CartItemConstant.FLIGHT_DEPARTURE_TIME)+"\":" + departureTime+
                ",\""+I18nUtil.getMessage(CartItemConstant.FLIGHT_ARRIVAL_TIME)+"\":" + arrivalTime +
                ",\""+I18nUtil.getMessage(CartItemConstant.FLIGHT_TOTAL_DURATION)+"\":" + totalDuration +
                ",\""+I18nUtil.getMessage(CartItemConstant.FLIGHT_PRICE_WITH_TAX)+"\":" + priceWithTax +
                ",\""+I18nUtil.getMessage(CartItemConstant.FLIGHT_CABIN_CLASS)+"\":" + cabinClass +
                ",\""+I18nUtil.getMessage(CartItemConstant.FLIGHT_REMAINING_SEATS)+"\":" + remainingSeats +
                ",\""+I18nUtil.getMessage(CartItemConstant.FLIGHT_DEPARTURE_AIRPORT)+"\":" + departureAirport +
                ",\""+I18nUtil.getMessage(CartItemConstant.FLIGHT_ARRIVAL_AIRPORT)+"\":" + arrivalAirport +
                '}';
    }

}